home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / gfx / pbm / rexx / pnmsmooth.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  1994-06-16  |  1.1 KB  |  59 lines

  1. /* pnmsmooth - smooth out an image by replacing each xel with the
  2.  *             average of its nine immediate neighbors
  3.  */
  4. parse source junk junk progname junk
  5.  
  6. address command
  7. signal on error
  8. signal on break_c
  9. signal on break_d
  10. signal on ioerr
  11. signal on halt
  12. ID = pragma('Id')
  13.  
  14. call open(err, "CONSOLE:", 'W')
  15. if ~result then exit 20
  16.  
  17. parse arg first tail
  18. if abbrev(first, '-', 1) then call usage
  19. if tail ~= '' then call usage
  20.  
  21. tmp = 'T:psm.'ID
  22. call rm tmp
  23. call open out, tmp, 'W'
  24. if ~result then exit 20
  25.  
  26. call writeln out, P2
  27. call writeln out, 3 3
  28. call writeln out, 18
  29. call writeln out, 10 10 10
  30. call writeln out, 10 10 10
  31. call writeln out, 10 10 10
  32. call writeln out, 10 10 10
  33. call close out
  34. 'pnmconvol' tmp first
  35. call rm tmp
  36. exit 0
  37.  
  38.  
  39. usage:
  40.     call writeln err, 'usage:' progname '[pnmfile]'
  41.     exit 10
  42.  
  43. rm: procedure
  44.     arg name
  45.     signal off error    /* ignore WARN */
  46.     'delete' name 'quiet force >NIL:'
  47.     signal on error
  48.     return
  49.  
  50. error:
  51. break_c:
  52. break_d:
  53. ioerr:
  54. halt:
  55.     call writeln err, progname ': break/error at line' SIGL 'code' RC
  56.     call rm tmp
  57.     exit 20
  58.  
  59.